1. Field
The present disclosure generally relates to a method and a system for adjusting the color of a rendered image.
2. Description of Related Art
Color Management is a technology aimed at getting the right color. Most of today's systems use something akin to the ICC (International Color Consortium) model of having color management profiles for each device and color encoding within a system. The ICC model also allows for the inclusion of abstract profiles that implement color preferences but do not model actual devices. The imaging chain is accomplished by linking a number of these profiles together, and processing data through the linked profiles.
Many color devices allow the user to control which color profiles are used in the imaging chain. The user selects the color profile or a device may come with a preset profile. Even where the user selects the color profile, devices are usually shipped with a default color profile setting. If the current profile does not suit the user's needs (for example, if the user wants the reds darker or the greens slightly bluer), there is currently only a trial-and-error methodology for choosing different profiles (or in general, any color rendering options). This trial and error methodology is often implemented by making changes and then creating a test print under the modified conditions. This trial and error process is often repeated multiple times until pleasing or acceptable results are obtained.
There are many ways to specify color and color difference. Color imaging scientists and engineers often use precise, numeric color specifications based on standardized color spaces and color encodings. Such color specifications are often based on the color matching behavior of a standard human observer. Color matching behavior has been embodied in the CIEXYZ system of colorimetry, for example. Other related systems based on the color matching behavior of a standard human observer include the widely used CIELab or the less common CIELuv system. These color specifications are commonly called device-independent color encodings. Color imaging scientists and engineers also use device-dependent color specifications in which colors can be precisely specified in terms of the color characteristics of a particular device. These color characteristics include the white point and color primaries (or colorants) of the device as well as an appropriate color mixing model. Colors are also specified using color order systems such as the Munsell Book of Color, the Swedish Natural Color System, or the Pantone Color Formula Guide. These systems of color specifications are also precise, but are more commonly used by professionals in the color graphics and design industries rather than color imaging.
Another, more common form of specifying color is to use color names in natural language. As the term suggests, natural language refers to the use of everyday terminology, rather than precise mathematical or technical definitions. Although natural language is a far less precise method of color specification than those discussed above, it is nonetheless the most widely used and best understood method of color specification used by consumers of color. This method of color specification uses common color names, such as red, green, blue, etc. It also uses combinations of common color names to refine the specification. Examples of such combinations include reddish-brown, greenish-blue, yellowish-green etc. In addition, natural language provides many modifying adjectives to provide further subtle discrimination in color specification. Examples of such modifying adjectives include light, dark, bright, saturated, vivid, muddy, moderate, dull, pale, washed-out, more/less of a color, etc.
Natural color languages use other words and phrases for specifying colors and color differences, which may not be as precisely defined as other color specification methods. Examples of these words and phrases include “slightly less yellow”, “much darker”, “more saturated”, “greener”, “significantly punchier”, and “a smidge lighter”. Now, while these expressions are certainly imprecise, many people commonly use them to describe how they would like their printed material to be changed to meet their requirements. However, color management systems that allow a user to modify an input color or set of input colors generally do not use natural language inputs and require the user to develop an understanding of the behavior of the various controls provided in the user interface of such systems. Such systems are therefore difficult to use for many people.
A color management system could use semantic color adjustments, such as “brighter”, “darker”, “vivid” etc., which are more readily understood by users than technical implementations (e.g., TRC curves with specified gamma). In other words, the user does not need to understand the implementation; they only need to know the resulting effect, in a language they can appreciate. There are generally no such semantic definitions associated with more complex color transforms such as the 3D or 4D color look-up-tables, which are part of an ICC profile. It may be that the file names, a private tag, or perhaps a comment field within the profile could contain such information, but this is ad hoc.
A natural language interface would be an advantage to most users of color imaging devices. Since both color professionals and consumers of color use and understand the natural language of color, it is a natural choice as a simple-to-use method for color device control software. While verbal descriptions of color and color differences are less precise than the numerical specification of color spaces, they provide better understood communication system and may be preferable to a highly precise but less intelligible interface.
Developing a useful mapping between natural language color specifications and the precise numerical color encodings used in color image processing and device control applications is not simple. An exemplary method for mapping between natural language instructions and actions in a color space was previously disclosed in U.S. patent application Ser. No. 11/479,484, “Natural Language Color Communication and System Interface,” the disclosure of which is incorporated by reference herein.
The Natural Language Color Editing scheme typically uses kd trees, which is a space-partitioning data structure for organizing points in a k-dimensional space. The memory foot print of this implementation (i.e., the Natural Language Color Editing scheme that uses kd trees) is very large may cause resource allocation failures if adequate memory is not provided, which increases device costs. However, even with adequate memory the performance may be slow because the process is computationally intensive. Therefore, there is a need for a Natural Language Color Editing scheme that provides both a smaller memory footprint and a faster execution time.